package com.hnyfkj.jyindustry.common.utils;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.github.pagehelper.PageInfo;

import lombok.Data;

/**
 * 分页工具类
 * 
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2016年11月4日 下午12:59:00
 */
@Data
public class PageUtils<T> implements Serializable {
	/**
	 *
	 */
	private static final long serialVersionUID = -8039849708510562404L;
	/**
	 * 总记录数
	 */
	private long count;
	/**
	 * 总页数
	 */
	private int totalPage;
	/**
	 * 列表数据
	 */
	private List<T> list;

	/**
	 * 返回分页信息
	 *
	 * @param page
	 * @return
	 */
	public static <T> PageUtils<T> pageOf(final PageInfo<T> page) {
		final PageUtils<T> returnDto = new PageUtils<>();
		List<T> list = new ArrayList<T>();
		if (page.getPageNum() <= page.getPages()) {
			list = page.getList();
		}
		returnDto.setList(list);
		returnDto.setCount(page.getTotal());
		returnDto.setTotalPage(page.getPages());
		return returnDto;
	}

}
